//java使用的是Unicode字符集，支持更多国家的语言（包括汉语）

public class Change {
    public static void main(String[] args){
        //java 真为true 假为false 没有所谓的0为假，非0为真
        //Boolean 是 boolean 的包装类
        //不兼容的类型: int无法转换为boolean
        //boolean b = 1; err
        boolean b = true;
        System.out.println(b);
        System.out.println(Integer.MAX_VALUE);
        System.out.println(2147483647+1);
    }
    public static void main10(String[] args){
        /**
         * char 字符类型 2个字节  字符没有负数
         * 范围 0~65535
         * Character 是 char 的包装类
         */
        char ch = 'a';
        char tc = 97;//ASCLL值
        char wc = '讹';
        System.out.println(ch);
        System.out.println(tc);//a
        System.out.println(wc);
        System.out.println(Character.MAX_VALUE);//打印的是最小字符
        System.out.println(Character.MIN_VALUE);//打印的是最大字符
    }

    public static void main9(String[] args){
        double num = 1.1;
        System.out.println(num*num);//输出1.210000000000002（浮点数是个近似值，不是精确值）
    }


    public static void main8(String[] args){
        int a = 1;
        int b = 2;
        System.out.println(a/b);//这里结果是0，整型相除保留整型
        System.out.println(a*1.0/b);//这样进行算术转换，结果为浮点型 0.5
    }

    public static void main7(String[] args){

        System.out.println(Integer.MAX_VALUE);
        System.out.println(Integer.MAX_VALUE+1);
        System.out.println(Integer.MIN_VALUE);
        System.out.println(Integer.MIN_VALUE-1);
        //这里写2147483648会报错，因为你给了一个字面值，而编译器会检测你直接赋值的字面值
//        System.out.println(2147483648); err

    }

    public static void main6(String[] args){
        /**
         * float 单精度浮点型 4个字节
         * 范围（了解即可）
         * Float 是 float的包装类
         */
        //float类型初始化时必须强转为float 或者在常量后面加上一个f 否则会编译报错
//        float f = 10.28;err，10.28默认为double类型的数据
        float f = 10.4f;
        float fs = (float)10.6;
        System.out.println(Float.MAX_VALUE);
        System.out.println(Float.MIN_VALUE);
    }

    public static void main5(String[] args){
        /**
         * double 双精度浮点型 8个字节
         * 范围（了解即可0
         * Double 是 double 的包装类
         */
        double d = 12.5;
        System.out.println(d);
        System.out.println(Double.MAX_VALUE);
        System.out.println(Double.MIN_VALUE);
    }
    public static void main4(String[] args){
        /**
         * byte 字节类型 1个字节 -》8个比特位 -》一个是符号位 -》7个数值位
         * 范围 -2^7 ~ 2^7-1
         * Byte 是 byte的包装类
         */
        byte b = 10;
        System.out.println(b);
        System.out.println(Byte.MAX_VALUE);
        System.out.println(Byte.MIN_VALUE);
    }

    public static void main3(String[] args) {
/**
 * short 短整型 2个字节 -》16个比特位 —-》一个是符号位 -》15个数值位
 * 范围 -2^15 ~ 2^15-1
 * Short 是short的包装类
 */
    short sh = 10;
    System.out.println(sh);
    System.out.println(Short.MAX_VALUE);
    System.out.println(Short.MIN_VALUE);

    }

    public static void main2(String[] args) {
        /**
         * long 长整型 8个字节 -》64个比特位 -》一个是符号位 -》63个数值位
         * 范围 -2^63 ~ 2^63-1
         * Long是long的包装类
         */
        long a = 100;
        System.out.println(a);
        System.out.println(Long.MAX_VALUE);
        System.out.println(Long.MIN_VALUE);
        //这样写的原因：整数默认是int
        long b = 10L;//也可以这样写 long b = 10l(不推荐，难以与1区分）
        System.out.print(b);
    }

    public static void main1(String[] args){
        //局部变量 4个字节
        int a = 110;
        System.out.println(a);
        //Integer int的包装类
        System.out.println(Integer.MAX_VALUE);//Integer.MAX_VALUE这样可以输出int的最大值
        System.out.println(Integer.MIN_VALUE);//Integer.MIN_VALUE这样可以输出int的最小值
    }


}
